<?php
namespace app\forum\controller;

use app\BaseController;
use think\facade\Config;
use think\facade\Env;
use think\facade\Db;

class User extends BaseController
{
    use \liliuwei\think\Jump;
    // 查询版块的函数
    public function showSec()
    {
        // 查询版块
        $sec = Db::name("section")
            ->field("s_name")
            ->select();
        return $sec;
    }
    // 2类方法，渲染登录页面
    public function login()
    {
        // 查询版块
        $sec = $this->showSec();
        return view('',['sec'=>$sec]);
    }
    // 1类方法，处理用户登录信息，执行登录验证
    public function doLogin()
    {
        // 获取用户输入的信息
        $uNick = input("nick");
        $uPa = md5(input("pa"));
        // 组织链式操作
        $re = Db::name("user")
            ->where("u_nick",$uNick)
            ->where("u_pa",$uPa)
            ->find();
        // 查询结果，双分支提示和跳转
            
        if ($re == null) {
            # 失败
            $this->error("登录失败！","user/login");
        }
        else{
            # 成功
            $uPower= Db::name("user")
                ->field('u_power')
                ->where('u_nick',$uNick)
                ->value('u_power');
            if ($uPower==0) {
                 $this->error( '您的帐号被禁止登录，请联系管理员解决问题：admin@sziit.edu.cn！');
            }else{
                // 登录状态的赋值
                session("uNick",$uNick);
                session("uImg",$re["u_img"]);
                session("u_power",$uPower);
                // if ($uPower==1) {
                //     $this->error( '您的帐号被禁止发言，请联系管理员解决问题：admin@sziit.edu.cn！','index/index');
                // }else{
                    $this->success("登录成功！","index/index");
                // }
            }
        }
    }
    // 渲染注册页面
    public function reg()
    {
        // 查询版块
        $sec = $this->showSec();
        return view('',['sec'=>$sec]);
    }
    // 登陆验证
    public function doReg()
    {
        $unick = input("unick");
        $upa = md5(input("upa"));
        // 判断昵称是否重复
        $hasNick = Db::name("user")
                ->where("u_nick",$unick)
                ->find();

        // 昵称重复则退回注册页面
        if ($hasNick != null) {
            // 昵称重复
            $this->error("昵称被占用，请选择其他的昵称！");
            exit();
        }
        // 准备写入的帖子信息
        $user = [
            'u_nick' => $unick,
            'u_pa' => $upa,
            'u_email' => input('uemail'),
            'u_tel' => input('utel')
        ];

        // 写入帐号
        $userPost = Db::connect("mysql_fu")
                ->name("user")
                ->insert($user);

        // 判断写入成果
        if ($userPost == 1) {
            // 成功
            $this->success("注册成功","user/login");
        }
        else{
            // 成功
            $this->error("注册失败");
        }
    }
    // 渲染联系页面
    public function contact()
    {
        return view();
    }
}
